/**
 * @return void
 * @author :likun
 * @date : 2016年7月26日
 * */
srvMap.add('comfRankingLevel','','front/sh/rank!execute?uid=comfRankingLevel');
srvMap.add('welcomeRankingLevel','','front/sh/rank!execute?uid=welcomeRankingLevel');
srvMap.add('searchRankingLevel','','front/sh/rank!execute?uid=searchRankingLevel');
srvMap.add('evaluateRankingLevel','','front/sh/rank!execute?uid=evaluateRankingLevel');
var now_Date = new Date();
Date.prototype.Format = function(fmt)   
{ //author: meizz   
  var o = {   
    "M+" : this.getMonth()+1,                 //月份   
    "d+" : this.getDate(),                    //日   
    "h+" : this.getHours(),                   //小时   
    "m+" : this.getMinutes(),                 //分   
    "s+" : this.getSeconds(),                 //秒   
    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
    "S"  : this.getMilliseconds()             //毫秒   
  };   
  if(/(y+)/.test(fmt))   
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
  for(var k in o)   
    if(new RegExp("("+ k +")").test(fmt))   
  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
  return fmt;   
};
$(function() {
	
	initThisDom();
	
	
});
/**
 * 初始化页面
 * */
function initThisDom(){
	
	Util.loadUpInfo.initCityList();
	Util.loadUpInfo.initRegionTypleList();
	initDataTime();
	var date=new Date(now_Date.getTime() - 30*24*60*60*1000).format("yyyy-MM"); 
	$("#monthStart").val(date);
	queryAll();
//	comfRankingLevel('','','201608');
//	welcomeRankingLevel('','','201608');
//	searchRankingLevel('','','201608');
//	evaluaterankingLevel('','','201608');
};
/**
 * 
 * @Description : echarts图表数据为空提示
 * @return void
 * 
 * @author : xuxiong
 * @date : 2015年12月10日 下午10:05
 * 
 */
function showEmptyTip(chart) {
	chart.clear();
	if (chart != null) {
		chart.showLoading({
			text: '当前未查询到数据，请稍后再试',
			effect: 'bubble',
			textStyle: {
				fontSize: 22
			}
		});
	}
}

/**
 * 
 * @Description : echarts图表过滤动画隐藏
 * @return void
 * 
 * @author : xuxiong
 * @date : 2015年12月10日 下午10:05
 * 
 */
function hideLoading(chart) {
	if (chart != null) {
		chart.hideLoading();
	}
}
/**
 * 
 * @Description : echarts图表数据为空提示
 * @return void
 * 
 * @author : xuxiong
 * @date : 2015年12月10日 下午10:05
 * 
 */
function noDataShowSource(chart,id) {
	
	if (chart == null) {
		require.config({
			paths: {
				echarts: CONTENT_PATH + '/common/js'
			}
		});
		require(['echarts'], function(ec) {
			chart = ec.init(document.getElementById(id), 'macarons');
			chart.clear();
			showEmptyTip(chart);
		});
	} else {
		showEmptyTip(chart);
	}
}
/**
 * 查询页面
 * */
function queryAll(){
	var cityId=$('#citySelectSpan').find('li').attr('d_value');
	var regionType=$('#regionTypleSelect').find('li').attr('d_value');
	var stateMon=$('#monthStart').val().replace(/-/g,'');
	comfRankingLevel(cityId,regionType,stateMon);
	welcomeRankingLevel(cityId,regionType,stateMon);
	searchRankingLevel(cityId,regionType,stateMon);
	evaluaterankingLevel(cityId,regionType,stateMon);
};
/**
 * 舒适度指数景区排行
 * 
 * */
function comfRankingLevel(cityId,regionType,stateMon){
	var par='cityId='+cityId+'&regionType='+regionType+'&stateMon='+stateMon;
	Util.ajax.postJsonSync(srvMap.get('comfRankingLevel'),par,function(json,status){
		if (status) {
			buildcomfRankBar(json.beans);
		}else{
			 alert('查询舒适度指数景区排行数据出错！');   
		}
	});
};
var comfRankBarCharts; //舒适度指数景区排行条形图
/**构建舒适度指数景区排行条形图*/
function buildcomfRankBar(data){
	hideLoading(comfRankBarCharts);
	if (data== '') {
		noDataShowSource(comfRankBarCharts, 'comfRankBarCharts');
		return;
	};
	var xValue=[];
	var yValue=[];
	for (var i = 0; i < data.length; i++) {
		   xValue.push(data[i].regionName);
		   yValue.push(data[i].comfortRank);
	   };
	require.config({
			paths: {
				echarts: CONTENT_PATH + '/common/js'
			}
		});
	require(
			[
				'echarts',
				'echarts/chart/bar'
			],
			function(ec){
				option = {
					    tooltip : {
					        trigger: 'axis'
					    },
					    legend: {
					    	 data:[],
					    	 show:false 
					    },
					    calculable : false,
					    color:['#72BAE1'],
					    xAxis : [
					        {
					            type : 'category',
					            splitLine: {show:false},
					            boundaryGap : [0, 1],
					            axisLabel : {
					            textStyle : {
					                	color : '#878787',
					                	},
					            rotate: 20,
					            },
					            data:xValue
					       }
					    ],
					    grid: { // 控制图的大小，调整下面这些值就可以，
	                        x: '10%',
	                        y: '18%',
	                        width:'80%',
	                        height:'66%',
	                        x2:'5%',
	                        y2:'15%',// y2可以控制 X轴跟Zoom控件之间的间隔，避免以为倾斜后造成 label重叠到zoom上
	                        borderWidth: 0
	                    },
					    yAxis : [
					        {   
					        	type : 'value',
					        	splitLine: { 
					        		 
						         lineStyle :{
							         color: ['#ccc'],
							         width: 1,
							         type: 'dashed'
					        	}
					                },
					        }
					    ],
	 				    series : [
					              {
					                  name:'舒适度指数',
					                  type:'bar',
					                  data:yValue,
					                  barWidth:20,
					              },
					          ]
					};
				comfRankBarCharts = ec.init(document.getElementById('comfRankBarCharts'));
				comfRankBarCharts.clear();
				comfRankBarCharts.setOption(option);	                    
			}
		);
};
/**
 * 最受欢迎景区排行
 * 
 * */
function welcomeRankingLevel(cityId,regionType,stateMon){
	var par='cityId='+cityId+'&regionType='+regionType+'&stateMon='+stateMon;
	Util.ajax.postJsonSync(srvMap.get('welcomeRankingLevel'),par,function(json,status){
		if (status) {
			buildwelcomeRankingBar(json.beans);
		}else{
			 alert('查询最受欢迎景区排行数据出错！');   
		}
	});
};
var welcomeRankBarCharts; //最受欢迎景区排行条形图
/**构建最受欢迎景区排行条形图*/
function buildwelcomeRankingBar(data){
	hideLoading(welcomeRankBarCharts);
	if (data== '') {
		noDataShowSource(welcomeRankBarCharts, 'welcomeRankBarCharts');
		return;
	};
	var xValue=[];
	var yValue=[];
	for (var i = 0; i < data.length; i++) {
		   xValue.push(data[i].regionName);
		   yValue.push(data[i].welcomeRank);
	   };
	require.config({
			paths: {
				echarts: CONTENT_PATH + '/common/js'
			}
		});
	require(
			[
				'echarts',
				'echarts/chart/bar'
			],
			function(ec){
				option = {
					    tooltip : {
					        trigger: 'axis'
					    },
					    legend: {
					    	 data:[],
					    	 show:false 
					    },
					    calculable : false,
					    color:['#FFAB8E'],
					    xAxis : [
					        {
					            type : 'category',
					            splitLine: {show:false},
					            boundaryGap : [0, 0.1],
					            axisLabel : {
					            textStyle : {
					                	color : '#878787',
					                	},
					            rotate: 20,
					            },
					           
					            data:xValue
					       }
					    ],
					    grid: { // 控制图的大小，调整下面这些值就可以，
	                        x: '10%',
	                        y: '18%',
	                        width:'80%',
	                        height:'66%',
	                        x2:'5%',
	                        y2:'15%',// y2可以控制 X轴跟Zoom控件之间的间隔，避免以为倾斜后造成 label重叠到zoom上
	                        borderWidth: 0
	                    },
					    yAxis : [
					        {   
					        	type : 'value',
					        	splitLine: {
					        		lineStyle :{
						                color: ['#ccc'],
						                width: 1,
						                type: 'dashed'
						            }	
					        	
					        	},
					        	
					        }
					    ],
	 				    series : [
					              {
					                  name:'最受欢迎指数',
					                  type:'bar',
					                  data:yValue,
					                  barWidth:20,
					              },
					          ]
					};
				welcomeRankBarCharts = ec.init(document.getElementById('welcomeRankBarCharts'));
				welcomeRankBarCharts.clear();
				welcomeRankBarCharts.setOption(option);	                    
			}
		);
};

/**
 * 搜索热度景区排行
 * 
 * */
function searchRankingLevel(cityId,regionType,stateMon){
	var par='cityId='+cityId+'&regionType='+regionType+'&stateMon='+stateMon;
	Util.ajax.postJsonSync(srvMap.get('searchRankingLevel'),par,function(json,status){
		if (status) {
			buildSearchRankingBar(json.beans);
		}else{
			 alert('查询搜索热度景区排行数据出错！');   
		}
	});
};
var searchRankBarCharts;
function buildSearchRankingBar(data){
	hideLoading(searchRankBarCharts);
	if (data== '') {
		noDataShowSource(searchRankBarCharts, 'searchRankBarCharts');
		return;
	};
	var xValue=[];
	var yValue=[];
	for (var i = 0; i < data.length; i++) {
	       xValue.push(data[i].searchRank);
		   yValue.push(data[i].regionName);
	   };
	require.config({
		paths: {
			echarts: CONTENT_PATH + '/common/js'
		}
	});
	require(
		[
			'echarts',
			'echarts/chart/bar'
		],
		function(ec){
			option = {
				    tooltip : {
				        trigger: 'axis'
				    },
				    legend: {
				    	 data:[]
				    },
				    color:['#58DCA3'],
				    calculable : false,
				    grid: {
				        borderWidth: 0,
				    },
				    xAxis : [
				        {
				            type : 'value',
				            splitLine: {
				            	lineStyle :{
					                color: ['#ccc'],
					                width: 1,
					                type: 'dashed'
					            }
				            
				            },
				            boundaryGap : [0, 0.1],
				       }
				    ],
				    yAxis : [
				        {
				            type : 'category',
				            splitLine: {show:false},
				            data : yValue,
				            axisLabel : {
				                textStyle : {
				                	color : '#878787',
				                	}
				            },
				        }
				    ],
				    series : [
				              {
				                  name:'搜索热度',
				                  type:'bar',
				                  data:xValue,
				                  barWidth:20,
				              },
				          ]
				};
			searchRankBarCharts = ec.init(document.getElementById('searchRankBarCharts'));
			searchRankBarCharts.clear();
			searchRankBarCharts.setOption(option);	                    
		}
	);
	
};
	/**
	 * 综合评价排名排行
	 * 
	 * */
	function evaluaterankingLevel(cityId,regionType,stateMon){
		var par='cityId='+cityId+'&regionType='+regionType+'&stateMon='+stateMon;
		Util.ajax.postJsonSync(srvMap.get('evaluateRankingLevel'),par,function(json,status){
			if (status) {
				buildeValuateRankingBar(json.beans);
			}else{
				 alert('查询综合评价排名排行数据出错！');   
			}
		});
	};	
var evaluateRankBarCharts;	
	
function buildeValuateRankingBar(data){
	hideLoading(evaluateRankBarCharts);
	if (data== '') {
		noDataShowSource(evaluateRankBarCharts, 'evaluateRankBarCharts');
		return;
	};
	var xValue=[];
	var yValue=[];
	for (var i = 0; i < data.length; i++) {
	       xValue.push(data[i].evaluateRank);
		   yValue.push(data[i].regionName);
	   };
	require.config({
		paths: {
			echarts: CONTENT_PATH + '/common/js'
		}
	});
	require(
		[
			'echarts',
			'echarts/chart/bar'
		],
		function(ec){
			option = {
				    tooltip : {
				        trigger: 'axis'
				    },
				    legend: {
				    	 data:[]
				    },
				    color:['#FFD68E'],
				    calculable : false,
				    grid: {
				        borderWidth: 0,
				    },
				    xAxis : [
				        {
				            type : 'value',
				            splitLine: {
				            	lineStyle :{
					                color: ['#ccc'],
					                width: 1,
					                type: 'dashed'
					            }
				            
				            },
				            boundaryGap : [0, 0.1],
				       }
				    ],
				    yAxis : [
				        {
				            type : 'category',
				            splitLine: {show:false},
				            data : yValue,
				            axisLabel : {
				                textStyle : {
				                	color : '#878787',
				                	}
				            },
				        }
				    ],
				    series : [
				              {
				                  name:'综合评价',
				                  type:'bar',
				                  data:xValue,
				                  barWidth:20,
				              },
				          ]
				};
			evaluateRankBarCharts = ec.init(document.getElementById('evaluateRankBarCharts'));
			evaluateRankBarCharts.clear();
			evaluateRankBarCharts.setOption(option);	                    
		}
	);	
};

/**
 * 
 * @Description : 初始化时间控件
 * @return void
 * 
 * @author : xuxiong
 * @date : 2015年12月10日 下午10:05
 * 
 */
function initDataTime() {
	var preMonth = getPreMonth(laydate.now());
	var preYear = laydate.now(-365).slice(0,7);
	var monthStart = {
		elem: '#monthStart',
		format: 'YYYY-MM',
		start:preMonth,
		min: preYear,
		max:preMonth,
		istime: false,
		festival: true,
		istoday: false,
	};
		
	
	laydate(monthStart);
	
	//默认展示前12个月的数据
	$("#monthStart").val(preYear.slice(0,7));
};
/**
 * 获取当前时间上一个月日期
 * @Description : 
 * 
 * @return void
 *
 * @author : xuxiong
 * @date : 2015年12月18日 下午5:40:08 
 *
 */
function getPreMonth(date) {
    var arr = date.split('-');
    var year = arr[0]; //获取当前日期的年份
    var month = arr[1]; //获取当前日期的月份
    var day = arr[2]; //获取当前日期的日
    var days = new Date(year, month, 0);
    days = days.getDate(); //获取当前日期中月的天数
    var year2 = year;
    var month2 = parseInt(month) - 1;
    if (month2 == 0) {
        year2 = parseInt(year2) - 1;
        month2 = 12;
    }
    var day2 = day;
    var days2 = new Date(year2, month2, 0);
    days2 = days2.getDate();
    if (day2 > days2) {
        day2 = days2;
    }
    if (month2 < 10) {
        month2 = '0' + month2;
    }
    var t2 = year2 + '-' + month2 + '-' + day2;
    return t2;
};